java 同步通信互斥锁
package test.run;
public class TraditionalThreadCommunication {
private Business bus = new Business();
public static void main(String[] args) {
final TraditionalThreadCommunication a=new TraditionalThreadCommunication();
new Thread(new Runnable() {
public void run() {
for(int i=1;i<=50;i++){
a.bus.sub(i);
}
}
}).start();
for(int i=1;i<=50;i++){
a.bus.maina(i);
}
}
class Business{
private boolean bS = true;
public synchronized void sub(int i ) {
while(!bS){
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for(int j=1 ; j<10; j++){
System.out.println("子线程"+j+"循环次数:"+i);
}
bS = false;
this.notify();
}
public synchronized void maina(int i ) {
while(bS){
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for(int j=1 ; j<20; j++){
System.out.println("父线程"+j+"循环次数:"+i);
}
bS = true;
this.notify();
}
}
}